package cn.yougou.service.shopcart;



import cn.yougou.dto.Dto;
import cn.yougou.pojo.YgCommodityProduct;
import cn.yougou.vo.YgResCommodityVo;

import java.util.List;

/**
 * (YgCommodityProduct)表服务接口
 *
 * @author 白杰崇
 * @since 2020-12-11 18:57:40
 */
public interface YgCommodityProductService {


    YgCommodityProduct getProduct(YgCommodityProduct ygCommodityProduct);
    /**
     * 通过ID查询单条数据
     *
     * @param id 主键
     * @return 实例对象
     */
    YgCommodityProduct queryById(String specificationId);

    /**
     * 查询多条数据
     *
     * @param offset 查询起始位置
     * @param limit  查询条数
     * @return 对象列表
     */
    List<YgCommodityProduct> queryAllByLimit(int offset, int limit);

    /**
     * 新增数据
     *
     * @param ygCommodityProduct 实例对象
     * @return 实例对象
     */
    YgCommodityProduct insert(YgCommodityProduct ygCommodityProduct);

    /**
     *  下单成功服务 & 更改商品规格组合表的库存
     *  商品id  规格id  商品件数
     * @param commodityId
     * @param productId
     * @param number
     * @return
     */
    boolean placeOrder(Integer commodityId,Integer productId,Integer number);

    /**
     * 判断商品是否售空
     * @param ygResCommodityVos
     * @return
     */
    Dto isItSoldOut(YgResCommodityVo[] ygResCommodityVos);


    /**
     * 通过主键删除数据
     *
     * @param id 主键
     * @return 是否成功
     */
    boolean deleteById(Integer id);

}